/*扎金花
题目描述
两个搜狐的程序员加了一个月班，终于放假了，于是他们决定扎金花渡过愉快的假期 。
游戏规则：
共52张普通牌，牌面为2,3,4,5,6,7,8,9,10,J,Q,K,A之一，大小递增，各四张； 每人抓三张牌。两人比较手中三张牌大小，大的人获胜。
对于牌型的规则如下：
1.三张牌一样即为豹子
2.三张牌相连为顺子（A23不算顺子）
3.有且仅有两张牌一样为对子 豹子>顺子>对子>普通牌型 在牌型一样时，比较牌型数值大小（如AAA>KKK,QAK>534，QQ2>10104） 在二人均无特殊牌型时，依次比较三张牌中最大的。大的人获胜，如果最大的牌一样，则比较第二大，以此类推（如37K>89Q） 如二人牌面相同，则为平局。
输入描述:
输入两个字符串代表两个玩家的牌（如"10KQ" "354"），先输入的作为玩家1，后输入的作为玩家2
输出描述:
1 代表 玩家1赢 0 代表 平局 -1 代表 玩家2赢 -2 代表不合法的输入
输入例子:
KQ3 3Q9
10QA 6102
5810 7KK
632 74J
10102 K77
JKJ 926
68K 27A
输出例子:
1
1
-1
-1
1
1
-1
*/
#include <iostream>
#include <algorithm>
#include <string.h>
#include <stdio.h>

using namespace std;
// 字符数组转化为整形数组
int change(char *a, int *b)
{
    int len = 0;
    for (int i = 0; i < strlen(a); i ++)
    {
        if (a[i] == '1')
        {
            b[len ++] = 10;
            i ++;
        }
        else if (a[i] >= '2' && a[i] <= '9')
            b[len ++] = a[i] - '0';
        else if (a[i] == 'J')
            b[len ++] = 11;
        else if (a[i] == 'Q')
            b[len ++] = 12;
        else if (a[i] == 'K')
            b[len ++] = 13;
        else if (a[i] == 'A')// 把字母A表示成14，便于操作
            b[len ++] = 14;
        else // 输入的字符串出错了，不是纸牌中指定的字符
            return -1;
    }
    return len;
}

//  豹子 > 顺子 > 对子 > 普通牌型
int Judge(int *a)
{
    // 豹子
    if (a[0] == a[2] && a[1] == a[2])//
        return 4;
    // 顺子
    else if (a[0] + 1 == a[1] && a[0] + 2 == a[2] && a[1] + 1 == a[2])
        return 3;
    // 对子的两种情况
    else if (a[0] == a[1])
        return 2;
    else if (a[1] == a[2])
    {
        // 把第一个数替换成第三个，便于接下来操作
        int num = a[2];
        a[2] = a[0];
        a[0] = num;
        return 2;
    }
    // 普通牌型
    return 1;
}

int main()
{
    // 把A变成14，这样就好操作了
    int c[16]= {0,2,3,4,5,6,7,8,9,10,11,12,13,14}, i, j, x, y, len1, len2;
    int a1[5], b1[5];
    char a[10], b[10];
    while (cin >> a >> b)
    {
        len1 = change(a, a1);
        len2 = change(b, b1);
        if (len1 < 3 || len1 > 3 || len2 < 3 || len2 > 3)
        {
            printf("-2\n");
            continue;
        }
        sort(a1, a1 + 3);
        sort(b1, b1 + 3);
        x = Judge(a1);
        y = Judge(b1);
        if (x > y)
            printf("1\n");
        else if (x < y)
            printf("-1\n");
        else
        {
            // 有对子的情况,上面已经对数据进行了处理，所以在这里可以只需要判断第一张牌的大小即可
            if (x == 2)
            {
                if (a1[0] > b1[0])
                {
                    printf("1\n");
                    continue;
                }
                else if (a1[0] < b1[0])
                {
                    printf("-1\n");
                    continue;
                }
                // 对子相同的情况上面并没有进行讨论，在下面讨论
            }
            // 经过上面的讨论，所有的特殊情况都已经排除了，所以此时直接比较大小即可
            bool flag = false;
            // 从后往前遍历，因为对应的两个数组已经从小到大排序了，比较两个数组的大小要从大的开始进行比较
            for (int i = 2; i >= 0; i --)
                if (a1[i] > b1[i])
                {
                    flag = true;
                    printf("1\n");
                    break;
                }
                else if (a1[i] < b1[i])
                {
                    flag = true;
                    printf("-1\n");
                    break;
                }
            if (!flag)
                printf("0\n");
        }
    }
    return 0;
}
